# coding=utf-8

__author__ = 'Arthur Fortes'

from django.contrib import admin
from compras.models import Compra, CompraProdutoFornecedor

class ItemInline(admin.TabularInline):
    model = CompraProdutoFornecedor
    extra = 1
    readonly_fields = ('valor', 'valortotal')
    raw_id_fields = ['produtofornecedor']
    fields = ['pedido', 'codigo', 'produtofornecedor', 'valorunitario', 'quantidade', 'tabela', 'valora', 'valor',
              'valortotal', 'subtituir']
    exclude = ('ativo', 'fornecedor')
    can_delete = False

class CompraAdmin(admin.ModelAdmin):
    readonly_fields = ('totaldeitens', 'valortotalnota')
    date_hierarchy = 'datacompra'
    fieldsets = [('Dados do Pedido', {
    'fields': (('codigo', 'pnumero', 'fornecedor', 'datacompra'), ('notas', 'totaldeitens', 'valortotalnota'))}),
                 ('Extra', {'fields': ['observacao'], 'classes': ['collapse']}),
    ]

    list_display = ['codigo', 'valortotalnota', 'totaldeitens', 'datacompra', 'fornecedor', 'dataentrada']
    list_display_links = ['dataentrada', 'codigo', 'valortotalnota']
    list_filter = ['datacompra', 'fornecedor', ]
    search_fields = ['codigo', 'pnumero', 'fornecedor']
    save_on_top = True
    inlines = [ItemInline]


class CompraProdutoFornecedorAdmin(admin.ModelAdmin):

    fieldsets = [
        ('Pedido', {'fields': (('pedido',))}),
        ('Informações',
         {'fields': ('produtofornecedor', ('quantidade', 'valorunitario', 'valortotal', 'ativo'), 'fornecedor')}),

    ]
    list_display = ['produtofornecedor', 'quantidade', 'valorunitario', 'datacompra', 'pedido', 'ativo']
    list_filter = ['datacompra', 'ativo']
    list_display_links = ['quantidade', 'produtofornecedor']
    search_fields = ['produtofornecedor', ]
    save_on_top = True

admin.site.register(Compra, CompraAdmin)
admin.site.register(CompraProdutoFornecedor, CompraProdutoFornecedorAdmin)